package com.sphd.emanu.pojo.material;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TMtQualityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TMtQualityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMaterialIsNull() {
            addCriterion("material is null");
            return (Criteria) this;
        }

        public Criteria andMaterialIsNotNull() {
            addCriterion("material is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialEqualTo(Integer value) {
            addCriterion("material =", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotEqualTo(Integer value) {
            addCriterion("material <>", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialGreaterThan(Integer value) {
            addCriterion("material >", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialGreaterThanOrEqualTo(Integer value) {
            addCriterion("material >=", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialLessThan(Integer value) {
            addCriterion("material <", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialLessThanOrEqualTo(Integer value) {
            addCriterion("material <=", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialIn(List<Integer> values) {
            addCriterion("material in", values, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotIn(List<Integer> values) {
            addCriterion("material not in", values, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialBetween(Integer value1, Integer value2) {
            addCriterion("material between", value1, value2, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotBetween(Integer value1, Integer value2) {
            addCriterion("material not between", value1, value2, "material");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodIsNull() {
            addCriterion("experimental_method is null");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodIsNotNull() {
            addCriterion("experimental_method is not null");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodEqualTo(String value) {
            addCriterion("experimental_method =", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodNotEqualTo(String value) {
            addCriterion("experimental_method <>", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodGreaterThan(String value) {
            addCriterion("experimental_method >", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodGreaterThanOrEqualTo(String value) {
            addCriterion("experimental_method >=", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodLessThan(String value) {
            addCriterion("experimental_method <", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodLessThanOrEqualTo(String value) {
            addCriterion("experimental_method <=", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodLike(String value) {
            addCriterion("experimental_method like", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodNotLike(String value) {
            addCriterion("experimental_method not like", value, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodIn(List<String> values) {
            addCriterion("experimental_method in", values, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodNotIn(List<String> values) {
            addCriterion("experimental_method not in", values, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodBetween(String value1, String value2) {
            addCriterion("experimental_method between", value1, value2, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExperimentalMethodNotBetween(String value1, String value2) {
            addCriterion("experimental_method not between", value1, value2, "experimentalMethod");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIsNull() {
            addCriterion("expiration_date is null");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIsNotNull() {
            addCriterion("expiration_date is not null");
            return (Criteria) this;
        }

        public Criteria andExpirationDateEqualTo(String value) {
            addCriterion("expiration_date =", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotEqualTo(String value) {
            addCriterion("expiration_date <>", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateGreaterThan(String value) {
            addCriterion("expiration_date >", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateGreaterThanOrEqualTo(String value) {
            addCriterion("expiration_date >=", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLessThan(String value) {
            addCriterion("expiration_date <", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLessThanOrEqualTo(String value) {
            addCriterion("expiration_date <=", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateLike(String value) {
            addCriterion("expiration_date like", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotLike(String value) {
            addCriterion("expiration_date not like", value, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateIn(List<String> values) {
            addCriterion("expiration_date in", values, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotIn(List<String> values) {
            addCriterion("expiration_date not in", values, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateBetween(String value1, String value2) {
            addCriterion("expiration_date between", value1, value2, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andExpirationDateNotBetween(String value1, String value2) {
            addCriterion("expiration_date not between", value1, value2, "expirationDate");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardIsNull() {
            addCriterion("inspection_standard is null");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardIsNotNull() {
            addCriterion("inspection_standard is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardEqualTo(String value) {
            addCriterion("inspection_standard =", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardNotEqualTo(String value) {
            addCriterion("inspection_standard <>", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardGreaterThan(String value) {
            addCriterion("inspection_standard >", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardGreaterThanOrEqualTo(String value) {
            addCriterion("inspection_standard >=", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardLessThan(String value) {
            addCriterion("inspection_standard <", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardLessThanOrEqualTo(String value) {
            addCriterion("inspection_standard <=", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardLike(String value) {
            addCriterion("inspection_standard like", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardNotLike(String value) {
            addCriterion("inspection_standard not like", value, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardIn(List<String> values) {
            addCriterion("inspection_standard in", values, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardNotIn(List<String> values) {
            addCriterion("inspection_standard not in", values, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardBetween(String value1, String value2) {
            addCriterion("inspection_standard between", value1, value2, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionStandardNotBetween(String value1, String value2) {
            addCriterion("inspection_standard not between", value1, value2, "inspectionStandard");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationIsNull() {
            addCriterion("inspection_operation is null");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationIsNotNull() {
            addCriterion("inspection_operation is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationEqualTo(String value) {
            addCriterion("inspection_operation =", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationNotEqualTo(String value) {
            addCriterion("inspection_operation <>", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationGreaterThan(String value) {
            addCriterion("inspection_operation >", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationGreaterThanOrEqualTo(String value) {
            addCriterion("inspection_operation >=", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationLessThan(String value) {
            addCriterion("inspection_operation <", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationLessThanOrEqualTo(String value) {
            addCriterion("inspection_operation <=", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationLike(String value) {
            addCriterion("inspection_operation like", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationNotLike(String value) {
            addCriterion("inspection_operation not like", value, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationIn(List<String> values) {
            addCriterion("inspection_operation in", values, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationNotIn(List<String> values) {
            addCriterion("inspection_operation not in", values, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationBetween(String value1, String value2) {
            addCriterion("inspection_operation between", value1, value2, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionOperationNotBetween(String value1, String value2) {
            addCriterion("inspection_operation not between", value1, value2, "inspectionOperation");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsIsNull() {
            addCriterion("inspection_instructions is null");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsIsNotNull() {
            addCriterion("inspection_instructions is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsEqualTo(String value) {
            addCriterion("inspection_instructions =", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsNotEqualTo(String value) {
            addCriterion("inspection_instructions <>", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsGreaterThan(String value) {
            addCriterion("inspection_instructions >", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsGreaterThanOrEqualTo(String value) {
            addCriterion("inspection_instructions >=", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsLessThan(String value) {
            addCriterion("inspection_instructions <", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsLessThanOrEqualTo(String value) {
            addCriterion("inspection_instructions <=", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsLike(String value) {
            addCriterion("inspection_instructions like", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsNotLike(String value) {
            addCriterion("inspection_instructions not like", value, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsIn(List<String> values) {
            addCriterion("inspection_instructions in", values, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsNotIn(List<String> values) {
            addCriterion("inspection_instructions not in", values, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsBetween(String value1, String value2) {
            addCriterion("inspection_instructions between", value1, value2, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andInspectionInstructionsNotBetween(String value1, String value2) {
            addCriterion("inspection_instructions not between", value1, value2, "inspectionInstructions");
            return (Criteria) this;
        }

        public Criteria andProtocolSnIsNull() {
            addCriterion("protocol_sn is null");
            return (Criteria) this;
        }

        public Criteria andProtocolSnIsNotNull() {
            addCriterion("protocol_sn is not null");
            return (Criteria) this;
        }

        public Criteria andProtocolSnEqualTo(String value) {
            addCriterion("protocol_sn =", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnNotEqualTo(String value) {
            addCriterion("protocol_sn <>", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnGreaterThan(String value) {
            addCriterion("protocol_sn >", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnGreaterThanOrEqualTo(String value) {
            addCriterion("protocol_sn >=", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnLessThan(String value) {
            addCriterion("protocol_sn <", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnLessThanOrEqualTo(String value) {
            addCriterion("protocol_sn <=", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnLike(String value) {
            addCriterion("protocol_sn like", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnNotLike(String value) {
            addCriterion("protocol_sn not like", value, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnIn(List<String> values) {
            addCriterion("protocol_sn in", values, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnNotIn(List<String> values) {
            addCriterion("protocol_sn not in", values, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnBetween(String value1, String value2) {
            addCriterion("protocol_sn between", value1, value2, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andProtocolSnNotBetween(String value1, String value2) {
            addCriterion("protocol_sn not between", value1, value2, "protocolSn");
            return (Criteria) this;
        }

        public Criteria andOuterRecordIsNull() {
            addCriterion("outer_record is null");
            return (Criteria) this;
        }

        public Criteria andOuterRecordIsNotNull() {
            addCriterion("outer_record is not null");
            return (Criteria) this;
        }

        public Criteria andOuterRecordEqualTo(String value) {
            addCriterion("outer_record =", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordNotEqualTo(String value) {
            addCriterion("outer_record <>", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordGreaterThan(String value) {
            addCriterion("outer_record >", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordGreaterThanOrEqualTo(String value) {
            addCriterion("outer_record >=", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordLessThan(String value) {
            addCriterion("outer_record <", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordLessThanOrEqualTo(String value) {
            addCriterion("outer_record <=", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordLike(String value) {
            addCriterion("outer_record like", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordNotLike(String value) {
            addCriterion("outer_record not like", value, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordIn(List<String> values) {
            addCriterion("outer_record in", values, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordNotIn(List<String> values) {
            addCriterion("outer_record not in", values, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordBetween(String value1, String value2) {
            addCriterion("outer_record between", value1, value2, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andOuterRecordNotBetween(String value1, String value2) {
            addCriterion("outer_record not between", value1, value2, "outerRecord");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnIsNull() {
            addCriterion("sealed_samples_sn is null");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnIsNotNull() {
            addCriterion("sealed_samples_sn is not null");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnEqualTo(String value) {
            addCriterion("sealed_samples_sn =", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnNotEqualTo(String value) {
            addCriterion("sealed_samples_sn <>", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnGreaterThan(String value) {
            addCriterion("sealed_samples_sn >", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnGreaterThanOrEqualTo(String value) {
            addCriterion("sealed_samples_sn >=", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnLessThan(String value) {
            addCriterion("sealed_samples_sn <", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnLessThanOrEqualTo(String value) {
            addCriterion("sealed_samples_sn <=", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnLike(String value) {
            addCriterion("sealed_samples_sn like", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnNotLike(String value) {
            addCriterion("sealed_samples_sn not like", value, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnIn(List<String> values) {
            addCriterion("sealed_samples_sn in", values, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnNotIn(List<String> values) {
            addCriterion("sealed_samples_sn not in", values, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnBetween(String value1, String value2) {
            addCriterion("sealed_samples_sn between", value1, value2, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andSealedSamplesSnNotBetween(String value1, String value2) {
            addCriterion("sealed_samples_sn not between", value1, value2, "sealedSamplesSn");
            return (Criteria) this;
        }

        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(Integer value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(Integer value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(Integer value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(Integer value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(Integer value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(Integer value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<Integer> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<Integer> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(Integer value1, Integer value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(Integer value1, Integer value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNull() {
            addCriterion("create_name is null");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNotNull() {
            addCriterion("create_name is not null");
            return (Criteria) this;
        }

        public Criteria andCreateNameEqualTo(String value) {
            addCriterion("create_name =", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotEqualTo(String value) {
            addCriterion("create_name <>", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThan(String value) {
            addCriterion("create_name >", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThanOrEqualTo(String value) {
            addCriterion("create_name >=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThan(String value) {
            addCriterion("create_name <", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThanOrEqualTo(String value) {
            addCriterion("create_name <=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLike(String value) {
            addCriterion("create_name like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotLike(String value) {
            addCriterion("create_name not like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameIn(List<String> values) {
            addCriterion("create_name in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotIn(List<String> values) {
            addCriterion("create_name not in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameBetween(String value1, String value2) {
            addCriterion("create_name between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotBetween(String value1, String value2) {
            addCriterion("create_name not between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andUpdatorIsNull() {
            addCriterion("updator is null");
            return (Criteria) this;
        }

        public Criteria andUpdatorIsNotNull() {
            addCriterion("updator is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatorEqualTo(Integer value) {
            addCriterion("updator =", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorNotEqualTo(Integer value) {
            addCriterion("updator <>", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorGreaterThan(Integer value) {
            addCriterion("updator >", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorGreaterThanOrEqualTo(Integer value) {
            addCriterion("updator >=", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorLessThan(Integer value) {
            addCriterion("updator <", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorLessThanOrEqualTo(Integer value) {
            addCriterion("updator <=", value, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorIn(List<Integer> values) {
            addCriterion("updator in", values, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorNotIn(List<Integer> values) {
            addCriterion("updator not in", values, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorBetween(Integer value1, Integer value2) {
            addCriterion("updator between", value1, value2, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdatorNotBetween(Integer value1, Integer value2) {
            addCriterion("updator not between", value1, value2, "updator");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIsNull() {
            addCriterion("update_name is null");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIsNotNull() {
            addCriterion("update_name is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateNameEqualTo(String value) {
            addCriterion("update_name =", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotEqualTo(String value) {
            addCriterion("update_name <>", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameGreaterThan(String value) {
            addCriterion("update_name >", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameGreaterThanOrEqualTo(String value) {
            addCriterion("update_name >=", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLessThan(String value) {
            addCriterion("update_name <", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLessThanOrEqualTo(String value) {
            addCriterion("update_name <=", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLike(String value) {
            addCriterion("update_name like", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotLike(String value) {
            addCriterion("update_name not like", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIn(List<String> values) {
            addCriterion("update_name in", values, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotIn(List<String> values) {
            addCriterion("update_name not in", values, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameBetween(String value1, String value2) {
            addCriterion("update_name between", value1, value2, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotBetween(String value1, String value2) {
            addCriterion("update_name not between", value1, value2, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}